AWS ECS, Fargate, ECR

../main.png

AWS ECS

ECS는 Elastic Container Service의 약자로, AWS에서 Docker 컨테이너를 실행할 때 사용하는 서비스다. ECS를 사용하면 컨테이너를 실행하고 관리할 수 있으며, EC2 인스턴스에서 직접 컨테이너를 실행할 수 있다.

주요 특징

  1. EC2 인스턴스 필요: ECS에서 도커 컨테이너를 실행하려면 사전에 EC2 인스턴스를 프로비저닝하고 관리해야 한다.
  2. 자동 스케일링: 컨테이너의 수요에 따라 EC2 인스턴스를 자동으로 스케일링할 수 있다.
  3. 로드 밸런싱: 애플리케이션 로드 밸런서와 통합하여 웹 애플리케이션 트래픽을 효과적으로 분산시킬 수 있다.
  4. 자동화된 관리: AWS가 컨테이너의 시작과 중지를 책임진다.

작동 원리

ECS 구조

  1. EC2 인스턴스 프로비저닝: 사용자 또는 자동화 도구를 통해 EC2 인스턴스를 설정한다.
  2. 컨테이너 실행: ECS 서비스가 도커 컨테이너를 EC2 인스턴스에서 실행한다.
  3. 관리: AWS가 컨테이너의 배치, 시작, 중지 및 로드 밸런싱을 관리한다.

AWS Fargate

Fargate는 AWS에서 도커 컨테이너를 실행할 수 있게 해주는 서버리스 서비스다. Fargate를 사용하면 인프라를 프로비저닝하거나 관리할 필요가 없다.

주요 특징

  1. 서버리스: EC2 인스턴스를 생성하거나 관리할 필요 없이 컨테이너를 실행할 수 있다.
  2. 자동 리소스 할당: 컨테이너의 CPU와 RAM 사양에 맞춰 리소스를 자동으로 할당한다.
  3. 간편한 사용: 인프라 관리가 필요 없어 사용이 매우 간편하다.

작동 원리

Fargate 구조

  1. 컨테이너 정의: 필요한 컨테이너의 사양(CPU, RAM)을 정의한다.
  2. 컨테이너 실행: Fargate가 정의된 사양에 맞춰 컨테이너를 자동으로 실행한다.
  3. 자동 관리: AWS가 컨테이너의 실행과 관리를 자동으로 처리한다.

Amazon ECR

Amazon ECR(Elastic Container Registry)은 AWS의 관리형 Docker 레지스트리 서비스다. 도커 이미지를 저장하고 관리할 수 있으며, ECS 및 Fargate와 통합하여 컨테이너를 실행할 수 있다.

주요 특징

  1. 도커 이미지 저장: 도커 이미지를 안전하게 저장하고 관리할 수 있다.
  2. 통합 관리: ECS 및 Fargate와 통합하여 컨테이너를 쉽게 배포할 수 있다.
  3. 보안: IAM 역할을 사용하여 이미지를 안전하게 관리하고 액세스를 제어할 수 있다.

작동 원리

ECR과 Fargate 통합

  1. 이미지 푸시: 도커 이미지를 ECR에 푸시하여 저장한다.
  2. 이미지 관리: 저장된 이미지를 관리하고 버전을 관리할 수 있다.
  3. 컨테이너 실행: ECS 또는 Fargate가 ECR에 저장된 이미지를 사용하여 컨테이너를 실행한다.